package controlesInterfaz;

import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;

import java.awt.SystemColor;

import javax.swing.ImageIcon;

import java.awt.Font;

import contenedorSpring.Contenedor;
import stub.IGestionRemota;
import vistas.FormEscritorioEstudiante;
import Iview.IFormTerminalEstudiante;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class panelTerminalEstudiante extends JPanel implements
		IFormTerminalEstudiante {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JLabel lbIP;
	private JLabel lbEstudiante;
	private JButton btnNewButton;
	private JButton btnIniciarCompartir;
	private JButton btnNewButton_2;
	private JButton btnFinalizarCompartir;

	/**
	 * Create the panel.
	 */
	public panelTerminalEstudiante() {
		setBorder(null);
		setBackground(SystemColor.control);

		JLabel lblNewLabel = new JLabel("New label");
		lblNewLabel.setBounds(6, 0, 127, 136);
		lblNewLabel.setIcon(new ImageIcon(panelTerminalEstudiante.class
				.getResource("/recursos/user.JPG")));
		JLabel lblEstudiante = new JLabel("Estudiante");
		lblEstudiante.setBounds(143, 11, 51, 14);

		lbEstudiante = new JLabel("XXXXXXXXXXXXXX");
		lbEstudiante.setBounds(143, 35, 194, 13);
		lbEstudiante.setFont(new Font("Times New Roman", Font.BOLD, 11));

		JLabel lblIp = new JLabel("IP");
		lblIp.setBounds(143, 54, 51, 14);

		lbIP = new JLabel("XXXXXXXXXXXXXX");
		lbIP.setBounds(143, 69, 107, 13);
		lbIP.setFont(new Font("Times New Roman", Font.BOLD, 11));

		btnNewButton = new JButton("Control Remoto");
		btnNewButton.setBounds(143, 93, 107, 23);
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				FormEscritorioEstudiante remoto = (FormEscritorioEstudiante) Contenedor
						.getSingleton().getApplicationContext()
						.getBean("escritorio");
				remoto.setVisible(true);
				remoto.setIp(lbIP.getText());
				remoto.iniciarTransmicion();
			}
		});

		btnIniciarCompartir = new JButton("Iniciar Compartir");
		btnIniciarCompartir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				iniciarCompartirPantalla();
			}
		});
		btnIniciarCompartir.setBounds(298, 57, 111, 23);

		btnNewButton_2 = new JButton("");
		btnNewButton_2.setBounds(383, 11, 26, 27);
		btnNewButton_2.setToolTipText("Cerrar");
		btnNewButton_2.setIcon(new ImageIcon(panelTerminalEstudiante.class
				.getResource("/recursos/cancel.png")));
		btnNewButton_2.setBorder(null);
		
		btnFinalizarCompartir = new JButton("Finalizar Compartir");
		btnFinalizarCompartir.setEnabled(false);
		btnFinalizarCompartir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				detenerCompartirPantalla();
			}
		});
		btnFinalizarCompartir.setBounds(288, 93, 121, 23);
		setLayout(null);
		add(lblNewLabel);
		add(lbIP);
		add(btnNewButton);
		add(btnFinalizarCompartir);
		add(lblIp);
		add(btnIniciarCompartir);
		add(lbEstudiante);
		add(lblEstudiante);
		add(btnNewButton_2);
	}

	@Override
	public void setIP(String ip) {
		lbIP.setText(ip);

	}

	@Override
	public void setNombre(String nombre) {
		lbEstudiante.setText(nombre);

	}

	@Override
	public String getIP() {
		return lbIP.getText();
	}

	@Override
	public String getNombre() {
		return lbEstudiante.getText();
	}
	
	@Override
	public void iniciarCompartirPantalla(){
		habilitarComparirPantalla(false);
		IGestionRemota remoto = (IGestionRemota) Contenedor.getSingleton().getApplicationContext().getBean("servidorRMI");
		remoto.iniciarCompartirPantalla(getIP(), true);
	}
	
	@Override
	public void detenerCompartirPantalla(){
		habilitarComparirPantalla(true);
		IGestionRemota remoto = (IGestionRemota) Contenedor.getSingleton().getApplicationContext().getBean("servidorRMI");
		remoto.detenerCompartirPantalla(getIP(), false);
	}

	@Override
	public void habilitarComparirPantalla(Boolean estado) {
		btnIniciarCompartir.setEnabled(estado);
		btnFinalizarCompartir.setEnabled(!estado);
	}
}
